অ্যাপাচি কমন্স কালেকশনস লাইব্রেরির MultiMap এবং MultiValueMap এমন ডেটা স্ট্রাকচার, যা একটি কী (key) এর জন্য একাধিক মান (value) সংরক্ষণ করতে সহায়তা করে। এটি সাধারণ Map
-এর সীমাবদ্ধতা কাটিয়ে ডেটা ম্যানিপুলেশনে শক্তিশালী সমাধান প্রদান করে।
MultiMap হলো একটি ইন্টারফেস, যা একাধিক মান সংরক্ষণ করতে সক্ষম। এটি এমনভাবে কাজ করে যেন প্রতিটি কী-এর জন্য মানের তালিকা (List) বা সেট (Set) সংরক্ষণ করা হচ্ছে।
MultiValueMap হলো MultiMap-এর একটি ইমপ্লিমেন্টেশন, যা অভ্যন্তরীণভাবে HashMap
এবং ArrayList
ব্যবহার করে কী এবং মান সংরক্ষণ করে।
import org.apache.commons.collections4.MultiMap;
import org.apache.commons.collections4.map.MultiValueMap;
public class MultiMapExample {
public static void main(String[] args) {
// MultiMap তৈরি
MultiMap<String, String> multiMap = new MultiValueMap<>();
// ডেটা যোগ করা
multiMap.put("Language", "Java");
multiMap.put("Language", "Python");
multiMap.put("Framework", "Spring");
multiMap.put("Framework", "Django");
// ডেটা রিট্রিভ করা
System.out.println("MultiMap contents: " + multiMap);
System.out.println("Languages: " + multiMap.get("Language"));
// ডেটা রিমুভ করা
multiMap.remove("Language", "Python");
System.out.println("After removal: " + multiMap);
}
}
MultiMap contents: {Language=[Java, Python], Framework=[Spring, Django]}
Languages: [Java, Python]
After removal: {Language=[Java], Framework=[Spring, Django]}
import org.apache.commons.collections4.map.MultiValueMap;
import java.util.Collection;
public class MultiValueMapExample {
public static void main(String[] args) {
// MultiValueMap তৈরি
MultiValueMap<String, Integer> multiValueMap = new MultiValueMap<>();
// ডেটা যোগ করা
multiValueMap.put("Math", 80);
multiValueMap.put("Math", 90);
multiValueMap.put("Science", 85);
multiValueMap.put("Science", 95);
// ডেটা রিট্রিভ করা
Collection<Integer> mathScores = multiValueMap.get("Math");
System.out.println("Math Scores: " + mathScores);
// ডেটা অ্যাড এবং রিমুভ
multiValueMap.put("Math", 100);
multiValueMap.removeMapping("Science", 85);
System.out.println("Updated MultiValueMap: " + multiValueMap);
}
}
Math Scores: [80, 90]
Updated MultiValueMap: {Math=[80, 90, 100], Science=[95]}
import org.apache.commons.collections4.map.MultiValueMap;
import java.util.Arrays;
public class BatchInsertExample {
public static void main(String[] args) {
MultiValueMap<String, String> multiValueMap = new MultiValueMap<>();
// একাধিক মান যোগ করা
multiValueMap.putAll("Fruits", Arrays.asList("Apple", "Banana", "Orange"));
multiValueMap.putAll("Vegetables", Arrays.asList("Carrot", "Potato", "Spinach"));
System.out.println("Batch Inserted MultiValueMap: " + multiValueMap);
}
}
Batch Inserted MultiValueMap: {Fruits=[Apple, Banana, Orange], Vegetables=[Carrot, Potato, Spinach]}
import org.apache.commons.collections4.map.MultiValueMap;
public class BatchRemoveExample {
public static void main(String[] args) {
MultiValueMap<String, String> multiValueMap = new MultiValueMap<>();
// ডেটা যোগ করা
multiValueMap.put("Colors", "Red");
multiValueMap.put("Colors", "Blue");
multiValueMap.put("Colors", "Green");
System.out.println("Before Removal: " + multiValueMap);
// সব মান রিমুভ করা
multiValueMap.remove("Colors");
System.out.println("After Removal: " + multiValueMap);
}
}
Before Removal: {Colors=[Red, Blue, Green]}
After Removal: {}
import org.apache.commons.collections4.map.MultiValueMap;
public class ContainsExample {
public static void main(String[] args) {
MultiValueMap<String, String> multiValueMap = new MultiValueMap<>();
// ডেটা যোগ করা
multiValueMap.put("Animals", "Dog");
multiValueMap.put("Animals", "Cat");
// উপস্থিতি চেক করা
System.out.println("Contains Dog: " + multiValueMap.containsValue("Dog"));
System.out.println("Contains Fish: " + multiValueMap.containsValue("Fish"));
}
}
Contains Dog: true
Contains Fish: false
মেথড | বর্ণনা |
---|---|
put(K key, V value) | একটি কী-এর সাথে একটি মান যোগ করে। |
putAll(K key, Collection<V> values) | একটি কী-এর সাথে একাধিক মান যোগ করে। |
get(K key) | নির্দিষ্ট কী-এর সমস্ত মান রিটার্ন করে। |
remove(K key) | নির্দিষ্ট কী-এর সমস্ত মান সরিয়ে দেয়। |
removeMapping(K key, V value) | নির্দিষ্ট কী এবং মানের সমন্বয় রিমুভ করে। |
containsKey(K key) | কী উপস্থিত আছে কিনা তা যাচাই করে। |
containsValue(V value) | মান উপস্থিত আছে কিনা তা যাচাই করে। |
MultiMap এবং MultiValueMap জাভার সাধারণ Map
-এর সীমাবদ্ধতা কাটিয়ে উন্নত ডেটা স্ট্রাকচার সরবরাহ করে। এটি কী-ভিত্তিক একাধিক মানের ডেটা ম্যানেজমেন্টকে সহজ, কার্যকর এবং উন্নত করে তোলে। উন্নত ব্যবহার, যেমন ব্যাচ ইনসার্ট, ব্যাচ রিমুভ এবং উপস্থিতি যাচাই, ডেটা ম্যানিপুলেশন আরও সহজ করে।
অ্যাপাচি কমন্স কালেকশনস (Apache Commons Collections) লাইব্রেরি Java প্রোগ্রামে Key-Value Mapping এর জন্য বিভিন্ন ডেটা স্ট্রাকচার সরবরাহ করে। এর মধ্যে একটি গুরুত্বপূর্ণ স্ট্রাকচার হল MultiMap, যা একটি কী (key) এর সাথে একাধিক মান (value) অ্যাসোসিয়েট করতে সক্ষম। এটি মূলত Map এর মতো কাজ করে, তবে এখানে একটি কী এর সাথে একাধিক মান যোগ করা যায়, যা সাধারণ Map
এ সম্ভব নয়।
MultiMap ব্যবহার করে আপনি একাধিক মান একটি কী এর সাথে সংরক্ষণ করতে পারেন, যা বিশেষভাবে উপকারী যখন একটি কী এর সাথে একাধিক সম্পর্ক থাকতে পারে। যেমন, একটি ব্যক্তির সাথে একাধিক ফোন নম্বর অথবা একটি ইভেন্ট এর সাথে একাধিক অংশগ্রহণকারী হতে পারে।
এতে Key-Value Mapping এর মাধ্যমে ডেটার সম্পর্ক এবং একাধিক মানের সাথে সহজভাবে কাজ করা যায়।
MultiMap হল একটি ম্যাপ যা একাধিক মান (values) একটি কী (key) এর সাথে সংরক্ষণ করে। এতে key এর জন্য একাধিক value থাকতে পারে, যেখানে সাধারণ Map
একটি কী এর সাথে শুধুমাত্র একটি মান সংরক্ষণ করতে সক্ষম।
যেমন, যদি আপনি একাধিক ফোন নম্বর (values) একটি একক নাম (key) এর সাথে রাখতে চান, তবে আপনি MultiMap
ব্যবহার করতে পারেন।
অ্যাপাচি কমন্স কালেকশনস লাইব্রেরি MultiMap এর জন্য বিভিন্ন ধরনের ইমপ্লিমেন্টেশন সরবরাহ করে, তার মধ্যে প্রধান দুটি হল:
এছাড়া, আপনি যদি আপনার নিজস্ব Map বা Bag ইমপ্লিমেন্টেশন ব্যবহার করতে চান, তবে আপনি এগুলো কাস্টমাইজ করে MultiMap তৈরি করতে পারেন।
এখানে একটি উদাহরণ দেওয়া হলো যেখানে আমরা MultiMap ব্যবহার করে একাধিক ফোন নম্বর (values) একটি ব্যক্তির নাম (key) এর সাথে সংরক্ষণ করেছি।
import org.apache.commons.collections4.MultiMap;
import org.apache.commons.collections4.map.MultiValueMap;
import java.util.List;
import java.util.ArrayList;
public class MultiMapExample {
public static void main(String[] args) {
// Create a MultiMap to store names with multiple phone numbers
MultiMap<String, String> phoneBook = new MultiValueMap<>();
// Add some phone numbers to the MultiMap for a person
phoneBook.put("John", "123-456-7890");
phoneBook.put("John", "987-654-3210");
phoneBook.put("Jane", "555-555-5555");
phoneBook.put("John", "555-123-4567");
// Display the phone numbers for John
System.out.println("Phone numbers for John: " + phoneBook.get("John"));
// Display the phone numbers for Jane
System.out.println("Phone numbers for Jane: " + phoneBook.get("Jane"));
// Get all phone numbers from the MultiMap
System.out.println("All phone numbers: " + phoneBook);
}
}
এখানে:
MultiValueMap
ব্যবহার করে আমরা John এর জন্য একাধিক ফোন নম্বর (123-456-7890
, 987-654-3210
, 555-123-4567
) সংরক্ষণ করেছি।phoneBook.get("John")
এর মাধ্যমে আমরা John এর সকল ফোন নম্বর প্রিন্ট করেছি।555-555-5555
) সংরক্ষণ করা হয়েছে।আউটপুট:
Phone numbers for John: [123-456-7890, 987-654-3210, 555-123-4567]
Phone numbers for Jane: [555-555-5555]
All phone numbers: {John=[123-456-7890, 987-654-3210, 555-123-4567], Jane=[555-555-5555]}
MultiMap
একটি কী এর সাথে একাধিক মান সংরক্ষণ করতে সক্ষম, যা সাধারণ Map
এ সম্ভব নয়। এটি বিশেষভাবে উপকারী যখন একাধিক সম্পর্ক বা ডেটা সংরক্ষণ করতে হয়, যেমন একজন ব্যক্তির একাধিক ফোন নম্বর।MultiMap
আপনার ডেটাকে একটি সংগঠিত এবং শুদ্ধ ফর্মে রাখতে সাহায্য করে, যেখানে একাধিক মান একটি কী এর সাথে সংরক্ষিত থাকে।MultiMap
এর মধ্যে List, Set, বা Bag ব্যবহার করতে পারেন, যাতে আপনি ডেটার ধরণ অনুযায়ী উপযুক্ত স্ট্রাকচার বেছে নিতে পারেন।অ্যাপাচি কমন্স কালেকশনসে MultiMap
এর আরও কিছু ইমপ্লিমেন্টেশন রয়েছে, যার মধ্যে ListMultiMap, SetMultiMap, এবং BagMultiMap অন্তর্ভুক্ত। আপনি সেগুলিকে নির্দিষ্ট প্রয়োজনে ব্যবহার করতে পারেন।
import org.apache.commons.collections4.MultiMap;
import org.apache.commons.collections4.map.ListMultiValueMap;
public class ListMultiMapExample {
public static void main(String[] args) {
// Create a ListMultiMap
MultiMap<String, String> phoneBook = new ListMultiValueMap<>();
// Add multiple phone numbers for the same person
phoneBook.put("John", "123-456-7890");
phoneBook.put("John", "987-654-3210");
phoneBook.put("Jane", "555-555-5555");
// Display phone numbers for John
System.out.println("Phone numbers for John: " + phoneBook.get("John"));
}
}
এখানে:
ListMultiValueMap
ব্যবহার করে MultiMap
তৈরি করা হয়েছে যেখানে List
ডেটা স্ট্রাকচার ব্যবহার করা হয়েছে। এর মানে হল যে, John এর জন্য একাধিক ফোন নম্বর একটি লিস্ট হিসেবে সংরক্ষিত হবে।MultiMap
ব্যবহার করতে পারেন, যেখানে ইভেন্ট হবে কী এবং অংশগ্রহণকারী হবে মান।অ্যাপাচি কমন্স কালেকশনস (Apache Commons Collections) লাইব্রেরির MultiMap একটি শক্তিশালী টুল যা Key-Value Mapping এর মাধ্যমে একাধিক মান একটি কী এর সাথে সংরক্ষণ করতে সহায়তা করে। এটি বিশেষভাবে উপকারী যখন একাধিক সম্পর্ক বা ডেটা সংরক্ষণ করতে হয়, যেমন একজন ব্যক্তির একাধিক ফোন নম্বর। MultiMap ব্যবহার করে আপনি আপনার ডেটাকে আরও সঠিকভাবে সংগঠিত এবং কার্যকরীভাবে পরিচালনা করতে পারবেন।
Apache Commons Collections লাইব্রেরি একটি শক্তিশালী MultiValueMap ইন্টারফেস প্রদান করে যা একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সাহায্য করে। এটি একটি বিশেষ ধরনের Map যেখানে প্রতিটি কী (key) একাধিক মান (value) এর সাথে সম্পর্কিত থাকে। সাধারণত, Map শুধুমাত্র একটি কী-এর সাথে একক মান সংরক্ষণ করে, কিন্তু MultiValueMap এর মাধ্যমে আপনি একটি কী-এ একাধিক মান সংরক্ষণ করতে পারেন।
এই নিবন্ধে, আমরা MultiValueMap এর ব্যবহার এবং multiple values handling কিভাবে করা যায় তা বিস্তারিতভাবে আলোচনা করব।
MultiValueMap একটি Map এর একটি ইন্টারফেস যা একাধিক মান (value) একটি কী (key)-এর সাথে সংরক্ষণ করতে সক্ষম। উদাহরণস্বরূপ, আপনি যদি একটি কী fruits
এর জন্য একাধিক মান রাখতে চান যেমন "apple", "banana", এবং "cherry", তবে MultiValueMap এটি সহজে পরিচালনা করতে সহায়তা করে। এটি সাধারণত org.apache.commons.collections4.MultiMap
ইন্টারফেস দ্বারা বাস্তবায়িত হয় এবং বিভিন্ন কোলেকশন যেমন MultiValueMap
, ListValuedMap
ইত্যাদি প্রদান করে।
MultiValueMap কোলেকশনে একটি কী-এ একাধিক মান সংরক্ষণ করা যেতে পারে, যেখানে প্রতিটি কী একটি List, Set বা অন্য কোনো কোলেকশন টাইপের সাথে যুক্ত থাকে।
MultiValueMap এর বিভিন্ন ধরনের ব্যবহার রয়েছে, এবং এটি সাধারণত ListValuedMap
ক্লাস দ্বারা ইমপ্লিমেন্ট করা হয়। এই কোলেকশনটি একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সহায়তা করে। নিচে MultiValueMap ব্যবহারের উদাহরণ দেওয়া হলো।
import org.apache.commons.collections4.MultiMap;
import org.apache.commons.collections4.map.MultiValueMap;
import org.apache.commons.collections4.ListValuedMap;
import java.util.Collection;
public class MultiValueMapExample {
public static void main(String[] args) {
// Create a MultiValueMap (ListValuedMap implementation)
ListValuedMap<String, String> multiValueMap = new MultiValueMap<>();
// Add multiple values for the same key
multiValueMap.put("fruits", "apple");
multiValueMap.put("fruits", "banana");
multiValueMap.put("fruits", "cherry");
multiValueMap.put("vegetables", "carrot");
multiValueMap.put("vegetables", "broccoli");
// Display the map
System.out.println("Fruits: " + multiValueMap.get("fruits"));
System.out.println("Vegetables: " + multiValueMap.get("vegetables"));
// Add another fruit
multiValueMap.put("fruits", "grape");
System.out.println("Updated Fruits: " + multiValueMap.get("fruits"));
}
}
এখানে:
ListValuedMap
ইমপ্লিমেন্টেশন ব্যবহার করে একটি MultiValueMap তৈরি করা হয়েছে।put()
মেথডের মাধ্যমে একাধিক মান (values) একই কী-এ (এখানে "fruits") যোগ করা হয়েছে।get()
মেথড ব্যবহার করে একটি কী-এর সাথে সম্পর্কিত মান গুলির তালিকা পাওয়া যাচ্ছে।আউটপুট:
Fruits: [apple, banana, cherry]
Vegetables: [carrot, broccoli]
Updated Fruits: [apple, banana, cherry, grape]
এখানে, "fruits" কী-এর সাথে চারটি মান রয়েছে এবং "vegetables" কী-এ দুটি মান রয়েছে।
MultiValueMap এ আরও কিছু কার্যকারিতা রয়েছে যা আপনাকে একাধিক মান পরিচালনা করতে সহায়তা করে:
remove()
: একাধিক মান মুছে ফেলাএটি একটি কী-এর সাথে সম্পর্কিত সব মান বা নির্দিষ্ট মান মুছে ফেলতে সাহায্য করে।
multiValueMap.remove("fruits", "banana"); // Removes "banana" from "fruits"
putAll()
: একাধিক মান যোগ করাএই মেথডটি একাধিক মান একসাথে একটি কী-এ যোগ করতে ব্যবহৃত হয়।
multiValueMap.putAll("fruits", List.of("orange", "pear"));
containsKey()
এবং containsValue()
: কী এবং মান চেক করাboolean hasFruits = multiValueMap.containsKey("fruits"); // Checks if "fruits" exists
boolean hasApple = multiValueMap.containsValue("apple"); // Checks if "apple" exists
size()
: কোলেকশনের আকার জানানোint size = multiValueMap.size(); // Returns the total number of key-value pairs
clear()
: কোলেকশন পরিষ্কার করাmultiValueMap.clear(); // Clears all the key-value pairs from the map
ArrayListValuedMap
: এটি একটি List-ভিত্তিক কোলেকশন যা একটি কী-এর সাথে একাধিক মান সংরক্ষণ করতে সাহায্য করে।HashSetValuedMap
: এটি একটি Set-ভিত্তিক কোলেকশন যা একাধিক মান সংরক্ষণ করার জন্য ব্যবহৃত হয়, তবে এটি ডুপ্লিকেট মান অনুমোদন করে না।import org.apache.commons.collections4.map.ArrayListValuedMap;
public class ArrayListValuedMapExample {
public static void main(String[] args) {
ArrayListValuedMap<String, String> multiValueMap = new ArrayListValuedMap<>();
multiValueMap.put("fruits", "apple");
multiValueMap.put("fruits", "banana");
multiValueMap.put("fruits", "cherry");
System.out.println(multiValueMap.get("fruits")); // Output: [apple, banana, cherry]
}
}
MultiValueMap হল একটি শক্তিশালী ডেটা স্ট্রাকচার যা Apache Commons Collections লাইব্রেরি থেকে আসছে এবং এটি একটি কী-এ একাধিক মান (values) সংরক্ষণ করতে সাহায্য করে। এটি সাধারণ Map কোলেকশনের সাথে তুলনামূলকভাবে আরও বেশি নমনীয়তা এবং কার্যকারিতা সরবরাহ করে, যেমন একটি কী-এ একাধিক মান সংরক্ষণ করা, ডুপ্লিকেট মান অনুমোদন করা, এবং বিভিন্ন ধরনের কোলেকশন ফিচার প্রয়োগ করা। MultiValueMap এর মাধ্যমে আপনি সহজেই ডেটার সাথে সম্পর্কিত একাধিক মানের কাজ করতে পারেন এবং এটি বিভিন্ন কোলেকশন ইমপ্লিমেন্টেশন যেমন ListValuedMap, ArrayListValuedMap, HashSetValuedMap ইত্যাদি প্রদান করে।
Apache Commons Collections লাইব্রেরি Java Collections Framework (JCF)-এর উপরে অতিরিক্ত ফিচার সরবরাহ করে, যার মধ্যে Nested Maps এবং Complex Data Structures তৈরি করার জন্য প্রয়োজনীয় সরঞ্জামও রয়েছে। Nested Maps হল এমন Map অবজেক্ট যা অন্যান্য Map অবজেক্ট ধারণ করে, যার মাধ্যমে ডেটাকে স্তরভিত্তিকভাবে সংরক্ষণ করা যায়।
এটি বিশেষভাবে উপকারী যখন আপনাকে ডেটা হায়ারার্কিকালভাবে সংরক্ষণ করতে হয়, যেমন database records, configuration settings, multi-level categories, বা এমন কোনো ডেটা যেখানে একাধিক স্তরের মান থাকতে পারে।
Nested Maps বা Map of Maps হল এমন একটি ডেটা স্ট্রাকচার যা একটি Map এর ভিতরে অন্য একটি Map রাখে। এটি সাধারণত ব্যবহার করা হয় যখন আপনার ডেটায় একাধিক স্তরের সম্পর্ক থাকে। উদাহরণস্বরূপ, আপনি যদি একটি department এবং তার মধ্যে থাকা employees সংরক্ষণ করতে চান, তাহলে একটি Map ব্যবহার করা যেতে পারে যার মধ্যে প্রতিটি department একটি সাব-ম্যাপ হিসেবে employee এর তথ্য ধারণ করবে।
Nested Map তৈরি করতে আপনি সাধারণ Map<String, Map<String, String>> স্ট্রাকচার ব্যবহার করতে পারেন, যেখানে প্রথম Map এর কী একটি department এবং তার মানটি একটি আরেকটি Map যা ওই department এর employees সংরক্ষণ করবে।
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.collections4.map.HashedMap;
import java.util.Map;
public class NestedMapExample {
public static void main(String[] args) {
// Creating the outer map (departments)
Map<String, Map<String, String>> departmentMap = new HashedMap<>();
// Creating the inner map (employees) for 'Sales' department
Map<String, String> salesEmployees = new HashedMap<>();
salesEmployees.put("E1", "John Doe");
salesEmployees.put("E2", "Jane Smith");
// Adding the 'Sales' department and its employees to the departmentMap
departmentMap.put("Sales", salesEmployees);
// Creating the inner map (employees) for 'HR' department
Map<String, String> hrEmployees = new HashedMap<>();
hrEmployees.put("E3", "Alice Johnson");
hrEmployees.put("E4", "Bob Brown");
// Adding the 'HR' department and its employees to the departmentMap
departmentMap.put("HR", hrEmployees);
// Printing the nested map (department -> employee)
System.out.println(departmentMap);
}
}
এখানে:
আউটপুট:
{Sales={E1=John Doe, E2=Jane Smith}, HR={E3=Alice Johnson, E4=Bob Brown}}
এটি একটি nested map যা ডেটাকে স্তরভিত্তিকভাবে (একটি department এবং তার employees) সংরক্ষণ করছে।
Apache Commons Collections লাইব্রেরি ব্যবহার করে আপনি Complex Data Structures তৈরি করতে পারেন, যেখানে একাধিক স্তরের Map এবং List এর মিশ্রণ থাকতে পারে। এই ধরনের ডেটা স্ট্রাকচারগুলি ডেটার হায়ারার্কি সংরক্ষণ করতে সাহায্য করে এবং সাধারণত real-world applications-এ ব্যবহৃত হয়, যেমন configuration files, multi-level categories, বা nested records।
ধরা যাক, আপনি একটি course registration system তৈরি করছেন যেখানে প্রতিটি student এর name এবং তার enrolled courses থাকবে। প্রতিটি কোর্সের বিস্তারিত তথ্যও থাকতে পারে (যেমন কোর্সের নাম, কোড ইত্যাদি)। এ ক্ষেত্রে, List of Maps ব্যবহার করা যেতে পারে।
import org.apache.commons.collections4.map.HashedMap;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
public class ComplexDataStructureExample {
public static void main(String[] args) {
// Creating a list to store students
List<Map<String, Object>> students = new ArrayList<>();
// Creating a map for student 1
Map<String, Object> student1 = new HashedMap<>();
student1.put("name", "John Doe");
// Creating courses for student 1
Map<String, String> courses1 = new HashedMap<>();
courses1.put("CS101", "Computer Science 101");
courses1.put("MATH101", "Calculus I");
student1.put("courses", courses1);
// Adding student 1 to the student list
students.add(student1);
// Creating a map for student 2
Map<String, Object> student2 = new HashedMap<>();
student2.put("name", "Jane Smith");
// Creating courses for student 2
Map<String, String> courses2 = new HashedMap<>();
courses2.put("BIO101", "Biology 101");
courses2.put("CHEM101", "Chemistry I");
student2.put("courses", courses2);
// Adding student 2 to the student list
students.add(student2);
// Printing the complex data structure (List of Maps)
System.out.println(students);
}
}
এখানে:
আউটপুট:
[{name=John Doe, courses={CS101=Computer Science 101, MATH101=Calculus I}}, {name=Jane Smith, courses={BIO101=Biology 101, CHEM101=Chemistry I}}]
এটি একটি complex data structure তৈরি করেছে, যেখানে একটি List এর মধ্যে Map অবজেক্টগুলি আছে, প্রতিটি ছাত্রের জন্য তার নাম এবং কোর্সের তালিকা সংরক্ষিত আছে।
Apache Commons Collections লাইব্রেরি nested maps এবং complex data structures তৈরি করার জন্য শক্তিশালী এবং নমনীয় সমাধান প্রদান করে। Nested Maps হল এমন Map যা অন্য Map ধারণ করে, এবং এটি একটি ডেটা স্ট্রাকচার যা স্তরভিত্তিকভাবে ডেটা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এছাড়াও, complex data structures তৈরি করতে List of Maps এর মতো কৌশল ব্যবহার করা যেতে পারে, যেখানে একাধিক Map একসাথে কাজ করে। এই ধরনের ডেটা স্ট্রাকচারগুলি real-world applications এর জন্য খুবই উপকারী, যেখানে ডেটার মধ্যে বিভিন্ন স্তরের সম্পর্ক থাকে।
common.read_more